This application is related to the following commonly assigned application: xe2x80x9cSatellite Communication Multicast Processing Techniquesxe2x80x9d, Ser. No. 09/407,416, having inventors: Geffrie Yee-Madera, Darren Gregoire, Zoltan Stroll, Scott Takahashi and Roland Wong. This application is incorporated herein by reference in its entirety.
The present invention relates generally to satellite communication systems, and more particularly, to a method and means for data packet replication for multicast functions in a satellite communication system.
Modern communications networks carry staggering amounts of information. Increasingly, that information is transmitted through communications satellites. A single satellite may have, for example, the equivalent of 30 or more uplink bands, each able to receive an uplink signal with a bandwidth of 250 Mhz. The resultant uplink data path may have a capacity of 8 to 10 gigabits per second or more.
Where a satellite is a link in a communications network, many individual ground stations may encode, modulate, and transmit uplink signals to the satellite. Each uplink signal may consist of hundreds of individual data channels each, for example, carrying data for a telephone conversation. Similarly, the downlink signals produced by the satellite and transmitted to ground stations often include data for hundreds of users. Additionally, crosslink signals may transmit data between satellites.
Satellite (and terrestrial) communication systems divide the data traffic on the uplink, downlink, and crosslink signals into discrete pieces of information, and each discrete piece of information may subsequently be transmitted over different selected channels in the communication network. The discrete pieces of information are referred to, for example, as xe2x80x9cframesxe2x80x9d or xe2x80x9cdata packets,xe2x80x9d depending on the particular system. In past terrestrial systems, for example, the data packets may be Asynchronous Transfer Mode (ATM) cells.
Each ATM cell is a specifically formatted data packet that is 53 bytes long and includes 48 information bytes (referred to below as the xe2x80x9cinformation payloadxe2x80x9d) and five header bytes (called the xe2x80x9cheaderxe2x80x9d). The header contains necessary information for a network to transfer cells between nodes over an ATM connection.
Specifically, the header contains a logical address consisting of an 8-bit Virtual Path Identifier (VPI) and a 16-bit Virtual Channel Identifier (VCI). The header also contains a 4-bit Generic Flow Control (GFC), a 3-bit payload type (PT), and a 1-bit Cell Loss Priority (CLP) indicator. The header is error-protected by a 1-byte header error control (HEC) field.
The VPI/VCI field of an ATM header cell contains ATM address information. A virtual channel is used for the unidirectional transport of ATM cells, each channel having associated with it a VCI value. A virtual path (VP) is an aggregate bundle of virtual channels (VCs). These paths have associated VPI values, each VPI value identifying a bundle of one or more VCs. Because two different VCs belonging to two different VPs at a given interface may have the same VCI value, a VC is only fully identified at an interface if both its VPI and VCI values are indicated. Thus, the ATM address field is divided into two subfields. The first subfield contains the VPI. The information in this field is used to switch virtual paths consisting of groups of virtual channels. The second subfield contains the VCI, used to switch virtual channels. The information in the VCI identifies a single virtual channel on a particular virtual path.
Connection to an ATM network is a shared responsibility. The user and network provider must agree as to the support of application bandwidth demands and other traffic characteristics that will be provided. To further one aim of such an agreement, that is assurance that the integrity of the transmitted data packets is maintained, network users categorize cells according to Quality of Service (QoS) classes. QoS is defined by specific parameters for an application that conforms to a particular traffic contract. A traffic contract is negotiated between a user and a network provider, and the user""s input cells are monitored to ensure that the negotiated traffic parameters are not violated. These parameters can be directly observed and measured by the network. QoS is defined on an end-to-end basis, an end, for example, being an end workstation, a customer premises network, or a private or public ATM user-to-network interface (the point at which the user accesses the network). QoS is defined in terms of any number of measurement outcomes.
The measurement outcomes used to define ATM performance parameters include successful cell transfer, errored cell transfer, lost cell, misinserted cell, and severely errored cell block. These performance parameters correspond to the generic QoS criteria of accuracy, dependability, and response time. Measurements of cell error ratio, severely errored cell block ratio, and cell misinsertion rate correspond to the QoS criterion of accuracy; measurements of cell loss ratio correspond to the QoS criterion of dependability; and measurements of cell transfer delay, mean cell transfer delay, and cell delay variation correspond to the QoS criterion of response time.
Cell error ratio (CER) is defined as the number of errored cells divided by the sum of successfully transferred cells and errored cells. Severely errored cell block ratio is defined as the number of severely errored cell blocks divided by the total transmitted cell blocks. Cell misinsertion rate (CMR) is the number of misinserted cells divided by a specified time interval. Cell loss ratio (CLR) is defined as lost cells divided by transmitted cells. Cell transfer delay is the elapsed time between a cell exit event at a measurement point and a corresponding cell entry event at another measurement point for a particular connection.
The cell transfer delay between two measurement points is the sum of the total inter-ATM node transmission delay and the total ATM node processing delay between the measurement points. Mean cell transfer delay is the average of a specified number of absolute cell transfer delay estimates for one or more connections. Cell delay variation is a measure of cell clumping, i.e., how much more closely cells are spaced than the nominal interval. Cell clumping is an issue because if too many cells arrive too closely together, cell buffers may overflow.
QoS classes are defined with pre-specified parameter threshold values. Each QoS class provides performance to an ATM virtual connection as dictated by a subset of ATM performance parameters. Additional details on ATM cell headers and QoS classes may be found in numerous references including ATM Theory and Application, (David E. McDysan and Darren L. Spohn, McGraw-Hill, Inc. 1995).
The use of QoS classes for ATM switches assures the integrity of the data packets. In addition, in most applications (where capacity generates revenue), one significant performance factor is the amount of information that is passed through the communication system (i.e., throughput). Generally, the higher the data throughput, the higher the revenue potential.
In the past, a bar to implementing a high throughput space-based switch was that an earth terminal could only receive information in a particularly configured downlink at any given moment in time. The downlink configuration depends on several parameters including, for example, frequency, coding, and polarization of the downlink at the time the satellite transmits the information. Unlike information transmitted terrestrially, not every earth terminal may receive information in every downlink, because earth terminals are only configured to receive a particularly configured downlink at any given moment in time.
Thus, space-based systems, unlike terrestrial systems, face unique challenges in their delivery of information to ground stations. In other words, past terrestrial networks did not provide a suitable infrastructure for communication satellites.
Furthermore, revenue generated from operation of satellite communication systems is affected by considerations of weight and power consumption of the switch used in the satellite communication system. In a space-based implementation, higher weight and increased power consumption in the switch translate to higher spacecraft and launch costs and the potential for reduced throughput. These, in turn, may have the effect of lowering potential revenue. Thus, cell switch features which, when implemented, minimize weight and power consumption of the switch are desirable because such added feature functionality does not adversely affect the bottom line.
One such feature is that of providing a multicast capability. The use of multicast in a cell switch allows sending the same data to a selectable number of destinations. This feature addresses inefficient use of bandwidth in terrestrial switches. Prior to multicast feature availability, a broadcast function was commonly used, which sent the same data to all possible destinations. With the implementation of multicast, only those destinations requiring the data received it, making unused bandwidth available for other data packet transmission.
Multicast capability, as implemented in terrestrial-based switches, is inappropriate for use in satellite communication systems due to its cost, weight, and complexity. Nonetheless, the need for multicast functionality in space-based cell switches is particularly important because if available, it would serve to maximize the efficient use of uplink, downlink, and crosslink bandwidth.
Without on-board satellite multicast capability, replication must be performed on the ground, with multiple copies sent through the uplink. Thus, because a source terminal is required to send the same data repeatedly using this replication strategy, uplink bandwidth is wasted. Similarly, with only a broadcast capability in the space-based switch, data would be sent to all downlink and crosslink beams, resulting in wasted downlink and crosslink bandwidth. Multicast capability in a space-based switch would allow data to be sent only to those destinations requiring it, thus maximizing revenue potential. Whether used in terrestrial or space-based systems, multicast ideally supports modern network standards such as ATM and ATM""s QoS parameters (as discussed above).
One aspect affecting weight and power of a cell switch is the number of data packet storage units, for example, buffers, used to implement the multicast feature. In the past, multicast has been implemented using multiple buffers (e.g., one on the in-bound side of the switch, and one on the outbound side). The buffers store ATM cells until they are extracted for subsequent processing and eventual routing to specified destinations. This multiple buffer implementation is designed to support ATM QoS parameters. Though a multiple buffer implementation may be efficient for terrestrial switches, this approach is undesirable in space-based switches. This is so because such an implementation unnecessarily increases the weight and power consumption of the switch. Increased weight and power translates into higher spacecraft and launch costs and reduced throughput, which can translate into a loss of revenue. Additionally, increased complexity may result in lower reliability.
Terrestrial communication networks have been moving in recent years towards ATM standards. Often, it is desirable to link the terrestrial communication networks through a satellite system. In the past, however, there has been no efficient multicast capability available for space-based implementation, thus barring the progress of globally providing reliable and economic information transfer.
A need exists in the satellite communication industry for efficient multicast capability in a commercial satellite system.
It is an object of the present invention to provide a method and apparatus for serial cell replication for multicast in an ATM cell switch.
It is another object of the present invention to minimize the size, weight, and power of a space-based multicast apparatus.
It is another object of the present invention to implement an efficient and fair distribution of bandwidth to separate Quality of Service queues resident in a buffer.
It is another object of the present invention to increase information bandwidth in satellite communications systems by implementing a multicast function using a buffer.
One or more of the foregoing objects is met in whole or in part by a method and apparatus for providing multicast in a satellite communication system. The present invention includes a buffer that stores data packets prior to replication for multicast. Preliminarily, the ATM cells requiring multicast are routed to a multicast module through the routing fabric of the switch. In the multicast module, the ATM cells are stored in one of several priority queues partitioned within a buffer. The preferred embodiment of the present invention uses a single buffer, partitioned into four priority queues. The buffer may be partitioned, for example, according to Quality of Service (QoS) classes, one partition for each class. The method of the present invention first assigns cells to queues based on the QoS requirement for the connection with which a cell is associated.
Next, the method of the present invention selects and extracts a cell from one of the queues based on an algorithm that provides fairness. The preferred algorithm takes into account priority, queue depth, and cell age, but could take into account any QoS or queueing parameters. The information payload portion of the selected cell is transferred into a holding buffer where it resides during the replication process. The header portion of the selected cell is sent to a header processor.
The method of the present invention then references a header memory to determine the number of cell copies to be made, the destination of each replicated cell, and associated new unique headers. The header processor includes a header input and an address output. Logic in the header processor generates an address signal on the address output in response to a header signal on the header input. In response to the address signal, the header memory sends to the header processor information necessary for replicating the information payload in the holding buffer.
Next, the present method merges the first unique header obtained from the header memory with the information payload of the selected cell in the holding buffer, and passes the assembled cell on to a subsequent processing unit for eventual routing to its final destination. The merging and subsequent processing are repeated with each unique header until all the cells required for replication have been made.